1. Technical Field
The present invention is directed to an apparatus and method for determining compatibility of web sites with designated requirements. More specifically, the present invention is directed to an apparatus and method for creating and searching a database of web sites, identifying the functional characteristics of the web sites and typically enabled functions of client computers that make use of the web sites, and using this database to determine compatibility of the web sites with designated requirements.
2. Description of Related Art
With the rapid expansion of the Internet as a source of information and a medium for conducting business and other transactions, it has become more difficult to identify web sites and their functionality. In an attempt to alleviate the problem of identifying web sites, search engines have been developed that allow users to enter search terms which are used by the search engine to identify web sites in their database that make use of those terms as keywords. If the user structures his/her search terms appropriately, the user may be provided with a list of web sites that are of interest to the user, although such a list typically includes a large number of web sites that are not of interest to the user as well.
Search engines may be used to identify web sites that address certain subject matter. For example, if a user wishes to obtain information about leukemia, the user may enter the search term “leukemia” in a field of the search engine and be provided with a list of web sites that make use of this term and thus, are more likely than not to deal with this subject matter.
Search engines may also be used to identify web hosting providers with desired platform capabilities. For example, if a user wishes to obtain information about hosting providers whose platforms have a Linux version 4.2 operating system, a CGI interpreter, SQL database software installed, and redundant T3 links to the Internet backbone, one may enter these search terms in a particular search engine that specializes in this type of information, and get a list of hosting providers meeting the search criteria, their contact information, and prices.
Web sites deliver their content to web browsers using a variety of techniques, running the gamut from the basic HTML 1.0 standard (RFC 1945), to optional plug-ins requiring that browser add-on code be installed on the client in order to view the enhanced content, to active scripting techniques such as those described hereafter. The designer of web site content may always safely assume that every web browser supports the basic HTML standard. However, the user of a web browser may choose not to install a specific plug-in or may choose to disable active scripting or other optional browser features. Thus some users choose to forego an enhanced browsing experience for various reasons, including concerns about security exposures. Those users who choose to forego the enhanced browsing experience may miss information and content that would otherwise be made available to them.
While search engines may be used to identify web sites that address certain subject matter or have certain platform capabilities, search engines do not have any ability to perform searches of web sites based on the functional characteristics of the web sites, e.g., the types of browser plugin modules utilized by the web pages comprising a web site, whether and what type of active scripting is used within the web pages of a web site, and the like.
“Active scripting,” as the term is used herein, refers to techniques such as JavaScript, Java, and ActiveX that download interpreted programming language statements or compiled bytecodes to a client workstation during the loading by a web browser of a specified web page. Such statements or bytecodes may be executed at the client workstation by an execution environment such as a JavaScript interpreter, a Java Virtual Machine, or a Microsoft Windows DLL (“dynamic link library”), respectively. The functions provided by active scripting technologies are typically used by web site designers to add interactivity and dynamic behavior to an otherwise-static web page.
In addition, to meet the varying security and privacy needs of users, browsers such as Microsoft's Internet Explorer allow an individual user to define specified “security zones” having different functional characteristics, such as disabling plug-ins, or disabling a particular active scripting technique. A user may associate a list of designated domain names with a given security zone. Thus when the user visits one of the designated domain names, the browser applies the user-defined properties of that “security zone.” Ergo, the browser may disallow active scripting, plug-ins, cookies, forms, and so forth, with respect to specific web sites, on a site-by-site basis. As a result, any web content that is delivered exclusively using one of the techniques not supported or disabled by the browser would not be seen by the user of that browser.
For example, while active scripting offers many possibilities to the programmer and can make the user's web browsing experience more interesting, active scripting has sometimes been exploited by hackers as a way to deliver malicious software to a client workstation such as a Trojan virus program that allows a hacker to control the workstation remotely without the computer owner's knowledge and consent, invade the user's privacy by spying on personal information, or steal confidential data from the computer. Therefore some users choose to disable active scripting when accessing untrusted web sites, to reduce their exposure to security exploits of this kind.
Thus, it would be beneficial to have an apparatus and method for compiling information about the functional characteristics of web sites. It would further be beneficial to have an apparatus and method for determining the most probable client device enabled functions corresponding to the functional characteristics of the web sites in order to determine how information may be relayed to a user of the client device. It would also be beneficial to have an apparatus and method for determining the compatibility of web sites with designated requirements based on the functional characteristics of the web sites and the enabled functions of the client devices of the web sites' typical users.